package com.inspur.dgov.bsp.user.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 组织信息
 *
 * @author chiyupei
 * @version 1.0
 * @since 1.0
 */
@Data
@TableName("pub_organ")
@ApiModel(value="PubOrgan对象", description="组织信息")
public class PubOrgan implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "组织ID")
    @TableId("ID")
    private Long id;

    @ApiModelProperty(value = "组织编码")
    @TableField("CODE")
    private String code;

    @ApiModelProperty(value = "组织名称")
    @TableField("NAME")
    private String name;

    @ApiModelProperty(value = "统一社会信用代码")
    @TableField("SOCIAL_CODE")
    private String socialCode;

    @ApiModelProperty(value = "组织类型(1类别 2单位 3部门 9临时)")
    @TableField("TYPE")
    private String type;

    @ApiModelProperty(value = "组织简码")
    @TableField("SHORT_CODE")
    private String shortCode;

    @ApiModelProperty(value = "组织简称")
    @TableField("SHORT_NAME")
    private String shortName;

    @ApiModelProperty(value = "单位规格(字典取值:正部级、副部级、正厅级、副厅级...)")
    @TableField("ORGAN_LEVEL")
    private Long organLevel;

    @ApiModelProperty(value = "单位性质(字典取值:国家机关、政党机关、社会团体、政法机关、事业单位、下设机构)")
    @TableField("ORGAN_NATURE")
    private Long organNature;

    @ApiModelProperty(value = "单位业务类别(字典取值:公安、教育、…… 可多选)")
    @TableField("ORGAN_BUSINESS")
    private String organBusiness;

    @ApiModelProperty(value = "是否权利事项单位(0:否 1:是)")
    @TableField("IS_POWER")
    private String isPower;

    @ApiModelProperty(value = "上级组织ID")
    @TableField("PARENT_ID")
    private Long parentId;

    @ApiModelProperty(value = "所属区划ID")
    @TableField("REGION_ID")
    private Long regionId;

    @ApiModelProperty(value = "所属区划名称(冗余)")
    @TableField("REGION_NAME")
    private String regionName;

    @ApiModelProperty(value = "排序")
    @TableField("SORT_ORDER")
    private Integer sortOrder;

    @ApiModelProperty(value = "状态(1:有效 0:无效)")
    @TableField("STATUS")
    private String status;

    @ApiModelProperty(value = "组织说明")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "所属租户ID")
    @TableField("TENANT_ID")
    private Long tenantId;

    @ApiModelProperty(value = "创建者ID")
    @TableField("CREATOR")
    private Long creator;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新者ID")
    @TableField("UPDATOR")
    private Long updator;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATE_TIME")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;


}
